home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
351-375
/
disk_355
/
rexxhostlib
/
rexxhostbase.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
5KB
|
167 lines
/* $Revision Header * Header built automatically - do not edit! *************
*
* (C) Copyright 1990 by MXM
*
* Name .....: rexxhostbase.h
* Created ..: Sunday 07-Jan-90 18:55
* Revision .: 4
*
* Date Author Comment
* ========= ======== ====================
* 31-Mar-90 Olsen General cleanup, added HOSTMASK
* 17-Mar-90 Olsen Compatibility fixes
* 16-Mar-90 Olsen Added protos & pragmas
* 07-Jan-90 Olsen Created this file!
*
****************************************************************************
*
* This Amiga shared library is based on example source code
* written by Gary Samad & Bill Hawes.
*
* $Revision Header ********************************************************/
#ifndef _REXXHOSTBASE_H
#define _REXXHOSTBASE_H 1
#ifndef REXX_RXSLIB_H
#include <rexx/rxslib.h>
#endif /* !REXX_RXSLIB_H */
/* Main library structure (note: RexxSysBase can be reused
* by opening program).
*/
struct RexxHostBase
{
struct Library LibNode;
struct RxsLib *RexxSysBase;
/* Everything below this point is considered PRIVATE and
* subject to change without notice (even though there isn't
* very much yet).
*/
};
/* This is an extended MsgPort structure which includes
* a special ID CreateRexxHost/DeleteRexxHost/SendRexxCommand
* rely on.
*/
struct RexxHost
{
struct MsgPort rh_Port; /* Exec link. */
/* Never touch the tags below,
* hands off - this may change
* soon.
*/
ULONG rh_Private0;
ULONG rh_Private1[4];
};
/* This macro can be used to turn the signal bit
* contained in a RexxHost into a Wait-mask.
* Note: Argument must be a pointer.
*/
#define HOSTMASK(Host) (1L << ((struct RexxHost *)Host) -> rh_Port . mp_SigBit)
/* Library name and current revision. */
#define REXXHOSTNAME "rexxhost.library"
#define REXXHOSTVERSION 34L
/* Use this value rather than REXXHOSTVERSION to open
* rexxhost.library.
*/
#define REXXHOSTMINIMUM 34L
/* The compiler version differences require the
* following preprocessor 'orgy'.
*/
#ifdef __NO_PROTOS
#undef __NO_PROTOS
#endif /* __NO_PROTOS */
#ifdef AZTEC_C
/* No version symbol? We'll redefine it. */
#ifndef __VERSION
#define __VERSION 360
#endif /* __VERSION */
/* Aztec 'C' 5.0 supports full prototype and
* pragma checking.
*/
#if __VERSION < 500
#define __NO_PROTOS 1
#define __NO_PRAGMAS 1
#endif /* __VERSION */
#endif /* AZTEC_C */
/* Now for the prototype handling. */
#ifdef __NO_PROTOS
#define __ARGS(x) ()
#else
#define __ARGS(x) x
#endif /* __NO_PROTOS */
/* Prototypes for library functions. */
struct RexxHost * CreateRexxHost __ARGS((STRPTR));
VOID * DeleteRexxHost __ARGS((struct RexxHost *));
LONG SendRexxCommand __ARGS((struct RexxHost *,STRPTR,STRPTR,STRPTR));
VOID FreeRexxCommand __ARGS((struct RexxMsg *));
VOID ReplyRexxCommand __ARGS((struct RexxMsg *,LONG,LONG,STRPTR));
STRPTR GetRexxCommand __ARGS((struct RexxMsg *));
STRPTR GetRexxArg __ARGS((struct RexxMsg *));
LONG GetRexxResult1 __ARGS((struct RexxMsg *));
LONG GetRexxResult2 __ARGS((struct RexxMsg *));
STRPTR GetToken __ARGS((STRPTR,LONG *,STRPTR,LONG));
LONG GetStringValue __ARGS((STRPTR));
STRPTR BuildValueString __ARGS((LONG,STRPTR));
LONG RexxStrCmp __ARGS((UBYTE *,UBYTE *));
/* The pragmas, both for Manx & Lattice. */
#ifndef __NO_PRAGMAS
#ifdef AZTEC_C
#pragma amicall(RexxHostBase, 0x1e, CreateRexxHost(a0))
#pragma amicall(RexxHostBase, 0x24, DeleteRexxHost(a0))
#pragma amicall(RexxHostBase, 0x2a, SendRexxCommand(a0,a1,a2,a3))
#pragma amicall(RexxHostBase, 0x30, FreeRexxCommand(a0))
#pragma amicall(RexxHostBase, 0x36, ReplyRexxCommand(a0,d0,d1,a1))
#pragma amicall(RexxHostBase, 0x3c, GetRexxCommand(a0))
#pragma amicall(RexxHostBase, 0x42, GetRexxArg(a0))
#pragma amicall(RexxHostBase, 0x48, GetRexxResult1(a0))
#pragma amicall(RexxHostBase, 0x4e, GetRexxResult2(a0))
#pragma amicall(RexxHostBase, 0x54, GetToken(a0,a1,a2,d0))
#pragma amicall(RexxHostBase, 0x5a, GetStringValue(a0))
#pragma amicall(RexxHostBase, 0x60, BuildValueString(d0,a0))
#pragma amicall(RexxHostBase, 0x66, RexxStrCmp(a0,a1))
#else /* AZTEC_C */
#pragma libcall RexxHostBase CreateRexxHost 1e 801
#pragma libcall RexxHostBase DeleteRexxHost 24 801
#pragma libcall RexxHostBase SendRexxCommand 2a ba9804
#pragma libcall RexxHostBase FreeRexxCommand 30 801
#pragma libcall RexxHostBase ReplyRexxCommand 36 910804
#pragma libcall RexxHostBase GetRexxCommand 3c 801
#pragma libcall RexxHostBase GetRexxArg 42 801
#pragma libcall RexxHostBase GetRexxResult1 48 801
#pragma libcall RexxHostBase GetRexxResult2 4e 801
#pragma libcall RexxHostBase GetToken 54 a9804
#pragma libcall RexxHostBase GetStringValue 5a 801
#pragma libcall RexxHostBase BuildValueString 60 8002
#pragma libcall RexxHostBase RexxStrCmp 66 9802
#endif /* AZTEC_C */
#endif /* __NO_PRAGMAS */
#endif /* _REXXHOSTBASE_H */